let BH, ReportID;
layui.use(['layer', 'table', 'element', 'upload'], function () {
    let table = layui.table,
        element = layui.element,
        upload = layui.upload,
        layer = layui.layer;
    layui.layer.load(0, {shade: [0.5, '#fff']});
    /*查询所有公告的信息*/
    table.render({
        elem: '#report-table'
        , toolbar: '#report-table-toolbar'
        , height: 700
        , url: "/getPaper"
        , where: {queryKey: '', userName: USERNAME, state: '开题报告', type: 3}
        , cols: [
            [ //标题栏
                {field: 'bh', title: '编号', width: 90, align: 'center', sort: true},
                {field: 'title', title: '标题', align: 'center'},
                {field: 'sno', title: '学号', width: 150, align: 'center'},
                {field: 'sname', title: '姓名', width: 100, align: 'center'},
                {
                    field: 'title1', title: '所属学院', width: 130, align: 'center', templet: function (res) {
                        return res.title1.collegeName;
                    }
                },
                {
                    field: 'title1', title: '所属专业', width: 150, align: 'center', templet: function (res) {
                        return res.title1.majorName;
                    }
                },
                {
                    field: 'title1', title: '指导老师', width: 100, align: 'center', templet: function (res) {
                        return res.title1.tName;
                    }
                },
                {field: 'tno', title: '老师工号', width: 130, align: 'center'},
                {
                    field: 'state', title: '论文阶段', width: 100, align: 'center', templet: function (res) {
                        if (res.state === '开题报告') {
                            return '<span style="color: #009688">开题报告</span>'
                        } else {
                            return '<span style="color: #999999">' + res.state + '</span>'
                        }

                    }
                },
                {
                    field: 'report', title: '开题报告状态', width: 100, align: 'center', templet: function (res) {
                        if (res.report === null) {
                            return '<span style="color: red">待提交</span>'
                        } else {
                            if (res.report.state === null || res.report.state === '') {
                                return '<span style="color: red">待提交</span>'
                            } else if (res.report.state === '审核中') {
                                return '<span style="color: blue">审核中</span>'
                            } else if (res.report.state === '审核完成') {
                                return '<span style="color: #009688">审核完成</span>'
                            } else {
                                return '<span style="color: red">待提交</span>'
                            }
                        }
                    }
                },

                {
                    field: 'report', title: '审核结果', width: 100, align: 'center', templet: function (res) {
                        if (res.report === null) {
                            return '<span>- -</span>'
                        } else {
                            if (res.report.isPass === null || res.report.isPass === '') {
                                return '<span>--</span>'
                            } else if (res.report.isPass === '不通过') {
                                return '<span style="color: red">不通过</span>'
                            } else if (res.report.isPass === '通过') {
                                return '<span style="color: #009688">通过</span>'
                            } else {
                                return '<span>- -</span>'
                            }
                        }
                    }
                },

                {title: '课题详情', align: 'center', width: 120, toolbar: '#task-table-tool'},
                {title: '开题报告操作', align: 'center', width: 180, toolbar: '#assignment-table-tool'},
                {field: 'title1', title: '课题', width: 120, align: 'center', hide: true},
                {field: 'report', title: '任务书', width: 100, align: 'center', hide: true}
            ]
        ]
        // ,skin: 'line' //表格风格
        , even: true
        , page: true
        , limits: [11, 22, 33]
        , limit: 11
        , text: {
            none: '<div class="layui-anim layui-anim-scaleSpring"  style="margin-top: 150px"><i class="layui-icon"  style="color: #009f95;font-size: 150px;border-bottom: #009f95 solid 2px;padding:15px;margin-top: 50px" >&#xe664;</i><br>' +
                '<br><br><br><br><div class="layui-text" style="font-size: 25px;margin-top: 25px;color: #009f95">好像没有没找到数据呢</div></div>'
            ,
            error: '<div style="margin-top: 150px"><i class="layui-icon"  style="color: #009f95;font-size: 150px;border-bottom: #009f95 solid 2px;padding:15px;margin-top: 50px" >&#xe664;</i><br>' +
                '<br><div class="layui-text" style="font-size: 25px;margin-top: 25px;color: #009f95">好像没有出错了呢</div></div>'
        }
    });


    //监听表头事件  监听对象  report-table
    table.on('toolbar(report-table)', function (obj) {
        //查询事件
        if (obj.event === 'query') {  //按关键字搜索事件
            let queryKey = $('#queryKey').val().trim(); //获取搜索的关键字
            if (queryKey === null || queryKey === '') {
                layer.msg('请输入要查询内容工号/姓名/课题名称', {offset: '250px', time: 1500, anim: 6});
                return false;
            }
            table.reload('report-table', {
                where: {queryKey: queryKey, userName: USERNAME, state: '开题报告', type: 3} //设定异步数据接口的额外参数
            });
        } else if (obj.event === 'queryAll') {  //查询全部
            table.reload('report-table', {
                where: {queryKey: '', userName: USERNAME, state: '开题报告', type: 3}//设定异步数据接口的额外参数
            });
        }
    });

    /*监听操作栏事件 report-table*/
    table.on('tool(report-table)', function (obj) {
        let data = obj.data;  //json格式的数据
        if (obj.event === 'taskDetail') {  //课题详情
            layer.open({
                type: 1
                , offset: 20
                , skin: 'layui-layer-rim'
                , area: ['740px', '600px']
                , content: $("#task-detail")
                , title: '学生课题详情内容'
                , success: function (layerObj) {
                    $(".layui-layer-shade").appendTo(layerObj.parent());
                    /*设置回显数据*/
                    setTaskDetail(data);
                }
                , end: function () {
                    $("#task-detail").css("display", 'none');
                }
            });
        } else if (obj.event === 'query-report-online') {  //开题报告预览
            layer.alert('在线预览');
        } else if (obj.event === 'query-report') {  //开题报告详情
            if (data.report === null) {
                layer.msg('该学生还未提交开题报告', {offset: '250px', time: 1500, anim: 6});
                return false;
            }
            if (data.report.state === '审核完成' || data.report.state === '审核中') {
                layer.open({
                    type: 1
                    , offset: 0
                    , skin: 'layui-layer-rim'
                    , area: ['1040px', '800px']
                    , content: $("#detail-report")
                    , title: '查看学生开题报告详情'
                    , success: function (layerObj) {
                        $(".layui-layer-shade").appendTo(layerObj.parent());
                        /*设置回显数据*/
                        setMsg(data);
                    }
                    , end: function () {
                        $("#detail-report").css("display", 'none');
                    }
                });
            } else {
                layer.msg('暂时无法查看', {offset: '250px', time: 1500, anim: 6});
                return false;
            }

        } else if (obj.event === 'upload-report-file') {  //导出开题报告word文件
            if (data.report === null) {
                layer.msg('该学生还未提交开题报告', {offset: '250px', time: 1500, anim: 6});
                return false;
            }
            if (data.report.state === '审核完成' || data.report.state === '审核中') {
                setMsg(data);
                let fileName = data.sno + data.sname + '的开题报告审核详情';
                $('#detail-report').wordExport(fileName);
            } else {
                layer.msg('暂时无法查看', {offset: '250px', time: 1500, anim: 6});
                return false;
            }
        }
    });


    // /*审核附件上传*/
    // upload.render({
    //     elem: '#test-upload-change'
    //     , url: '/upload/'
    //     , auto: false
    //     //,data: {id: 'xxx'}  //上传的额外参数
    //     , accept: 'file'
    //     // ,acceptMime:'' 规定打开文件选择框时，筛选出的文件类型
    //     , before: function (obj) {
    //         console.log(obj);
    //         obj.preview(function (index, file, result) {
    //             //obj.resetFile(index, file, '重新命名的文件.jpg'); //重命名文件名，layui 2.3.0 开始新增
    //             obj.resetFile(index, file, '123.jpg');
    //         });
    //     }
    //     , bindAction: '#test-upload-change-action'
    //     , done: function (res) {
    //         console.log(res)
    //     }
    //     , progress: function (n, elem, e, index) {
    //         element.progress('progress-demo-' + index, n + '%'); //执行进度条。n 即为返回的进度百分比
    //     }
    // });
    layui.layer.closeAll('loading');


    // //通过
    // $("#check-pass").click(function () {
    //     let result = '通过';
    //     checkResult(result);
    // });
    //
    // //不通过审核
    // $("#check-no-pass").click(function () {
    //     let result = '不通过';
    //     checkResult(result);
    // });

});


// //提交获取审核结果
// function checkResult(result) {
//     let opinion = $("#check-opinion").val().trim();
//     if (opinion === null || opinion === '') {
//         layui.layer.msg('请填写审核意见', {offset: '250px', time: 1500, anim: 6});
//         return false;
//     }
//     addCheck(result, opinion, '开题报告', ReportID, BH, USERNAME);
//     layui.table.reload('report-table', {
//         where: {queryKey: '', userName: USERNAME, state: '开题报告', type: 3}//设定异步数据接口的额外参数
//     });
// }


function setMsg(data) {
    //基本信息
    $("#sName").html(data.sname);
    $("#sNO").html(data.sno);
    $("#major").html(data.title1.majorName);
    $("#title").html(data.title);
    if (data.report.opinion !== null && data.report.opinion !== '') {
        $("#detail-opinion").html(data.report.opinion);//任务书审核意见：
        $("#detail-isPass").html(data.report.isPass);
    }
    let id = data.report.reportId;
    let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
    $.ajax({
        url: "/getReportById",
        type: 'post',
        data: {
            id: id
        },
        dataType: 'json',
        async: false,
        success: function (data) {  //调用接口成功
            setReportDetail(data, loadPage);
        },
        error: function () {  //接口错误
            layui.layer.close(loadPage);
            layui.layer.alert('服务器出错啦,请稍后再试！');
        }
    });
}


function setReportDetail(data, loadPage) {

    $("#sense").html(data.sence); //选题的依据及意义
    $("#trend").html(data.develop);//国内外研究现状及发展趋势(含文献综述)
    $("#report").html(data.content);//本课题的研究报告
    $("#scheme").html(data.scheme);//本课题的研究方案
    $("#aim").html(data.aim);//研究目标、主要特色及工作进度
    $("#literature").html(data.datum);//参考文献
    if (data.sFileName !== null || data.sFileName !== '') {
        let sFile = '<div class="layui-upload">' +
            '  <span> ' + data.sFileName + '</span>    <a  class="layui-btn layui-btn-normal" id="query-online">在线预览</a>' +
            '     <a  class="layui-btn" id="postil-online">在线批注</a>' +
            '</div>';
        $("#stuFile").html(sFile);
    }
    layui.layer.close(loadPage);
}

